﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Negocio.clases_tontas;

namespace Negocio.catalogos
{
    
    public class catalogoCarrera
    {
        servicioConsultasDocenteEstudianteXPeriodo.WebServiceConsultasSoapClient _objServicio = new servicioConsultasDocenteEstudianteXPeriodo.WebServiceConsultasSoapClient();
        servicioCarrera.CarreraServiceSoapClient _objServicioCarrera = new servicioCarrera.CarreraServiceSoapClient();

        public List<carreraClase> obtenerCarrera(int _idDocente)
        {
            List<carreraClase> _objListaCarrera = new List<carreraClase>();
            try
            {
                
                foreach (var item in _objServicioCarrera.CarreraDocenteId(_idDocente))
                {
                    _objListaCarrera.Add(new carreraClase(item.Cod_Carrera, item.Carrera, item.Seccion));
                }

                return _objListaCarrera;
            }
            catch (Exception)
            {

                return _objListaCarrera;
            }
            
        }

        public List<carreraClase> obtenerCarreraxID(int _idCarrera)
        {
            List<carreraClase> _objListaCarrera = new List<carreraClase>();
            foreach (var item in _objServicioCarrera.FiltrarCarrera(_idCarrera))
            {
                _objListaCarrera.Add(new carreraClase(item.Cod_Carrera, item.Carrera,item.Seccion));
            }
            return _objListaCarrera;

        }
        public List<carreraClase> obtenerTodasCarreras()
        {
            List<carreraClase> _lista = new List<carreraClase>();
            var carreras=_objServicioCarrera.ObtenerCarrera();
            try
            {
                foreach (var item in carreras)
                {
                    _lista.Add(new carreraClase(item.Cod_Carrera, item.Carrera));
                    
                }
                return _lista;
            }
            catch (Exception)
            {
                throw;
            }
        }

        public carreraClase obtenerCarrera(string _nombreCarrera)
        {
            carreraClase _objCArrera = null;
            try
            {
                var resulCarrera = new catalogoCarrera().obtenerTodasCarreras().Where(E => E.carrera == _nombreCarrera).ToList().FirstOrDefault();
                if (resulCarrera != null)
                {
                    _objCArrera = new carreraClase(resulCarrera.idCarrera, resulCarrera.carrera, resulCarrera.seccion);
                }
                else
                {
                    _objCArrera = new carreraClase(0, "Error al consultar Carrera", "Error al consultar Carrera");
                }


                return _objCArrera;
            }
            catch (Exception)
            {

                return _objCArrera;
            }

        }


    }
}
